package Utilitarios;


import java.io.*;

/*
 * U_Archivos
 *
 * Descripción: Esta clase se encarga lectura de  archivos 
 *
 * Autor: Erik
 *
 * Versión: 0.1
 *
 * Fecha: 02/04/14
 *
 */

public class U_Archivos {

    FileWriter archivo_g;
    FileReader archivo_l;
    File archivo = null;
    BufferedWriter bw;
    private String nombre = "";

    public U_Archivos() {
    }

    public U_Archivos(String nombre) {
        this.nombre = nombre;
    }

    public void AbrirArchivoG(String Direccion) throws Exception {
        archivo_g = new FileWriter(Direccion + ".txt", false);
    }

    public void AbrirArchivoG_dat(String Direccion) throws Exception {
        archivo_g = new FileWriter(Direccion + ".dat", false);
    }

    public void AbrirArchivoL(String Direccion) throws Exception {
        archivo_l = new FileReader(Direccion);
    }

    public BufferedReader leerArchivo() {
        return (new BufferedReader(archivo_l));
    }

    public void in() {
        bw = new BufferedWriter(archivo_g);
    }

    public void Abrir2() throws Exception {
        archivo = new File("" + nombre + ".txt");
        if (!archivo.exists()) {
            archivo_g = new FileWriter(archivo, true);
        } else {
            archivo_g = new FileWriter(archivo, false);
            archivo_g = new FileWriter(archivo, true);
        }
    }

    public void Abrir(String n) throws Exception {
        archivo = new File("MODELO\\Log_error_" + nombre + "_" + n + ".txt");
        if (!archivo.exists()) {
            archivo_g = new FileWriter(archivo, true);
        } else {
            archivo_g = new FileWriter(archivo, false);
            archivo_g = new FileWriter(archivo, true);
        }
    }

    public static void ejecutar(String file) throws Exception {
        Process p = Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + (new File("")).getAbsolutePath() + "\\" + file);
    }

    public void ingresar(String dato) throws Exception {
        archivo_g.write(dato);
    }

    public void ingresarNN() throws Exception {
        bw.newLine();
    }

    public void ingresarNNU(String dato) throws Exception {
        bw.write(dato);
    }

    public void ingresar(char dato) throws Exception {
        archivo_g.write(dato);
    }

    public void cerrar() throws Exception {
        this.archivo_g.close();
    }

    public void cerrarN() throws Exception {
        this.bw.close();
    }

    public void Cerrarl()
            throws Exception {
        this.archivo_l.close();
    }

    public String listar() {
        int aux = 0;
        String salida = "";
        return salida;
    }

    public void limpiar() {
        try {
            archivo_g = new FileWriter("Caracteres.txt", false);
            archivo_g.write("");
        } catch (IOException e) {
            System.out.println("" + e.getMessage());
        }
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
}
